In DDIO (data direct input output) systems, data sets are copied and transferred directly from a data source to a cache memory, without passing first through a non-cache memory. Each such data set is then used or operated on by a microprocessor or other compute element that needs the data set at a particular time. Also, after each such data set has been transferred to the cache memory, it is, at some future time, copied and transferred from the cache memory to a non-cache memory. The DDIO approach maintains the rule that a data set held in cache memory is also held in a non-cache memory associated with the compute element. The DDIO approach also allows very fast access to the required data set by the compute element, which generally speeds processing.
However, the DDIO approach has a disadvantage derived from the fact that the capacity of cache memory is substantially more limited than the capacity of non-cache memory. As a result, as cache memory fills up, certain data sets in cache memory will be shifted out of cache memory in order to make room for new incoming data sets. If the data sets shifted out of cache memory are more important to processing at a particular time than the new data sets coming into cache memory via the DDIO approach, processing in general will be slowed down, and the entire system will become less efficient. DDIO is typically an automatic feature of systems in which it appears, meaning that the problem of shifted out data sets will occur in a DDIO system. What is needed is a way to modify the DDIO approach at a particular time, in order to maintain required data sets in cache memory.